package com.pro.pojo;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.*;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.util.Objects;

/**
 * @ClassName JsMicrocircle
 * @Author 谭金诚
 * @Date 2022/1/7
 */
public class JsMicrocircle {

  private Integer microcircleId;//主键id
  private Integer userId;//用户id
  private String trueName;//用户名称
  private String acatarUrl;//用户头像地址
  private String account;//用户账号
  private String artcleTitle;//文章标题
  private String artcleKeywords;//文章搜索关键字
  private String artcleUrl;//文章图片url路径
  @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
  private Date createDate;//创建时间
  @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
  private Date releaseDate;//发布时间
  @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
  private Date collectionDate;//收藏时间
  private Integer acticleCategroyId;//文章分类id
  private String artcleCategroyName;//文章分类名称
  private Integer acticleHits;//文章点击数量
  private Integer acticleLike;//文章点赞数量
  private Integer acticleReviews;//文章评论数量
  private Integer acticleShare;//文章分享数量
  private Integer collectionNum;//收藏数量
  private Integer show;//是否显示，2显示，3隐藏
  private Integer serialNumber;//序号
  private String article;//文章内容
  private String updateId;//更新人
  @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
  private Date updateDate;//更新时间
  private Integer details;//状态，2草稿，3已通过，4未提交，5已提交，6退回
  private Integer commodityId;
  private String result;//审核结果
  private Integer type;//类型
  private Integer toExamineId;//审核id

  public JsMicrocircle() {
  }

  public JsMicrocircle(Integer microcircleId, Integer userId, String trueName, String acatarUrl, String account, String artcleTitle, String artcleKeywords, String artcleUrl, Date createDate, Date releaseDate, Date collectionDate, Integer acticleCategroyId, String artcleCategroyName, Integer acticleHits, Integer acticleLike, Integer acticleReviews, Integer acticleShare, Integer collectionNum, Integer show, Integer serialNumber, String article, String updateId, Date updateDate, Integer details, Integer commodityId, String result, Integer type, Integer toExamineId) {
    this.microcircleId = microcircleId;
    this.userId = userId;
    this.trueName = trueName;
    this.acatarUrl = acatarUrl;
    this.account = account;
    this.artcleTitle = artcleTitle;
    this.artcleKeywords = artcleKeywords;
    this.artcleUrl = artcleUrl;
    this.createDate = createDate;
    this.releaseDate = releaseDate;
    this.collectionDate = collectionDate;
    this.acticleCategroyId = acticleCategroyId;
    this.artcleCategroyName = artcleCategroyName;
    this.acticleHits = acticleHits;
    this.acticleLike = acticleLike;
    this.acticleReviews = acticleReviews;
    this.acticleShare = acticleShare;
    this.collectionNum = collectionNum;
    this.show = show;
    this.serialNumber = serialNumber;
    this.article = article;
    this.updateId = updateId;
    this.updateDate = updateDate;
    this.details = details;
    this.commodityId = commodityId;
    this.result = result;
    this.type = type;
    this.toExamineId = toExamineId;
  }

  public Integer getMicrocircleId() {
    return microcircleId;
  }

  public void setMicrocircleId(Integer microcircleId) {
    this.microcircleId = microcircleId;
  }

  public Integer getUserId() {
    return userId;
  }

  public void setUserId(Integer userId) {
    this.userId = userId;
  }

  public String getTrueName() {
    return trueName;
  }

  public void setTrueName(String trueName) {
    this.trueName = trueName;
  }

  public String getAcatarUrl() {
    return acatarUrl;
  }

  public void setAcatarUrl(String acatarUrl) {
    this.acatarUrl = acatarUrl;
  }

  public String getAccount() {
    return account;
  }

  public void setAccount(String account) {
    this.account = account;
  }

  public String getArtcleTitle() {
    return artcleTitle;
  }

  public void setArtcleTitle(String artcleTitle) {
    this.artcleTitle = artcleTitle;
  }

  public String getArtcleKeywords() {
    return artcleKeywords;
  }

  public void setArtcleKeywords(String artcleKeywords) {
    this.artcleKeywords = artcleKeywords;
  }

  public String getArtcleUrl() {
    return artcleUrl;
  }

  public void setArtcleUrl(String artcleUrl) {
    this.artcleUrl = artcleUrl;
  }

  public Date getCreateDate() {
    return createDate;
  }

  public void setCreateDate(Date createDate) {
    this.createDate = createDate;
  }

  public Date getReleaseDate() {
    return releaseDate;
  }

  public void setReleaseDate(Date releaseDate) {
    this.releaseDate = releaseDate;
  }

  public Date getCollectionDate() {
    return collectionDate;
  }

  public void setCollectionDate(Date collectionDate) {
    this.collectionDate = collectionDate;
  }

  public Integer getActicleCategroyId() {
    return acticleCategroyId;
  }

  public void setActicleCategroyId(Integer acticleCategroyId) {
    this.acticleCategroyId = acticleCategroyId;
  }

  public String getArtcleCategroyName() {
    return artcleCategroyName;
  }

  public void setArtcleCategroyName(String artcleCategroyName) {
    this.artcleCategroyName = artcleCategroyName;
  }

  public Integer getActicleHits() {
    return acticleHits;
  }

  public void setActicleHits(Integer acticleHits) {
    this.acticleHits = acticleHits;
  }

  public Integer getActicleLike() {
    return acticleLike;
  }

  public void setActicleLike(Integer acticleLike) {
    this.acticleLike = acticleLike;
  }

  public Integer getActicleReviews() {
    return acticleReviews;
  }

  public void setActicleReviews(Integer acticleReviews) {
    this.acticleReviews = acticleReviews;
  }

  public Integer getActicleShare() {
    return acticleShare;
  }

  public void setActicleShare(Integer acticleShare) {
    this.acticleShare = acticleShare;
  }

  public Integer getCollectionNum() {
    return collectionNum;
  }

  public void setCollectionNum(Integer collectionNum) {
    this.collectionNum = collectionNum;
  }

  public Integer getShow() {
    return show;
  }

  public void setShow(Integer show) {
    this.show = show;
  }

  public Integer getSerialNumber() {
    return serialNumber;
  }

  public void setSerialNumber(Integer serialNumber) {
    this.serialNumber = serialNumber;
  }

  public String getArticle() {
    return article;
  }

  public void setArticle(String article) {
    this.article = article;
  }

  public String getUpdateId() {
    return updateId;
  }

  public void setUpdateId(String updateId) {
    this.updateId = updateId;
  }

  public Date getUpdateDate() {
    return updateDate;
  }

  public void setUpdateDate(Date updateDate) {
    this.updateDate = updateDate;
  }

  public Integer getDetails() {
    return details;
  }

  public void setDetails(Integer details) {
    this.details = details;
  }

  public Integer getCommodityId() {
    return commodityId;
  }

  public void setCommodityId(Integer commodityId) {
    this.commodityId = commodityId;
  }

  public String getResult() {
    return result;
  }

  public void setResult(String result) {
    this.result = result;
  }

  public Integer getType() {
    return type;
  }

  public void setType(Integer type) {
    this.type = type;
  }

  public Integer getToExamineId() {
    return toExamineId;
  }

  public void setToExamineId(Integer toExamineId) {
    this.toExamineId = toExamineId;
  }

  @Override
  public boolean equals(Object o) {
    if (this == o) return true;
    if (o == null || getClass() != o.getClass()) return false;
    JsMicrocircle that = (JsMicrocircle) o;
    return Objects.equals(microcircleId, that.microcircleId) &&
            Objects.equals(userId, that.userId) &&
            Objects.equals(trueName, that.trueName) &&
            Objects.equals(acatarUrl, that.acatarUrl) &&
            Objects.equals(account, that.account) &&
            Objects.equals(artcleTitle, that.artcleTitle) &&
            Objects.equals(artcleKeywords, that.artcleKeywords) &&
            Objects.equals(artcleUrl, that.artcleUrl) &&
            Objects.equals(createDate, that.createDate) &&
            Objects.equals(releaseDate, that.releaseDate) &&
            Objects.equals(collectionDate, that.collectionDate) &&
            Objects.equals(acticleCategroyId, that.acticleCategroyId) &&
            Objects.equals(artcleCategroyName, that.artcleCategroyName) &&
            Objects.equals(acticleHits, that.acticleHits) &&
            Objects.equals(acticleLike, that.acticleLike) &&
            Objects.equals(acticleReviews, that.acticleReviews) &&
            Objects.equals(acticleShare, that.acticleShare) &&
            Objects.equals(collectionNum, that.collectionNum) &&
            Objects.equals(show, that.show) &&
            Objects.equals(serialNumber, that.serialNumber) &&
            Objects.equals(article, that.article) &&
            Objects.equals(updateId, that.updateId) &&
            Objects.equals(updateDate, that.updateDate) &&
            Objects.equals(details, that.details) &&
            Objects.equals(commodityId, that.commodityId) &&
            Objects.equals(result, that.result) &&
            Objects.equals(type, that.type) &&
            Objects.equals(toExamineId, that.toExamineId);
  }

  @Override
  public int hashCode() {
    return Objects.hash(microcircleId, userId, trueName, acatarUrl, account, artcleTitle, artcleKeywords, artcleUrl, createDate, releaseDate, collectionDate, acticleCategroyId, artcleCategroyName, acticleHits, acticleLike, acticleReviews, acticleShare, collectionNum, show, serialNumber, article, updateId, updateDate, details, commodityId, result, type, toExamineId);
  }

  @Override
  public String toString() {
    return "JsMicrocircle{" +
            "microcircleId=" + microcircleId +
            ", userId=" + userId +
            ", trueName='" + trueName + '\'' +
            ", acatarUrl='" + acatarUrl + '\'' +
            ", account='" + account + '\'' +
            ", artcleTitle='" + artcleTitle + '\'' +
            ", artcleKeywords='" + artcleKeywords + '\'' +
            ", artcleUrl='" + artcleUrl + '\'' +
            ", createDate=" + createDate +
            ", releaseDate=" + releaseDate +
            ", collectionDate=" + collectionDate +
            ", acticleCategroyId=" + acticleCategroyId +
            ", artcleCategroyName='" + artcleCategroyName + '\'' +
            ", acticleHits=" + acticleHits +
            ", acticleLike=" + acticleLike +
            ", acticleReviews=" + acticleReviews +
            ", acticleShare=" + acticleShare +
            ", collectionNum=" + collectionNum +
            ", show=" + show +
            ", serialNumber=" + serialNumber +
            ", article='" + article + '\'' +
            ", updateId='" + updateId + '\'' +
            ", updateDate=" + updateDate +
            ", details=" + details +
            ", commodityId=" + commodityId +
            ", result='" + result + '\'' +
            ", type=" + type +
            ", toExamineId=" + toExamineId +
            '}';
  }
}
